package com.gari;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class Boleto {
	
	public static int TOTAL_NUMEROS = 50;
	public static int TOTAL_ESTRELLAS = 11;
	
	public static int NUMERO_1 = 7;
	public static int NUMERO_2 = 17;
	public static int NUMERO_3 = 20;
	public static int NUMERO_4 = 35;
	public static int NUMERO_5 = 50;
	
	public static Integer ESTRELLA_1 = 5;
	public static Integer ESTRELLA_2 = 11;
	public static Integer ESTRELLA_3 = 3;
	public static Integer ESTRELLA_4 = 7;
	public static Integer ESTRELLA_5 = 9;
	public static Integer ESTRELLA_6 = 10;
	public static Integer ESTRELLA_7 = 9;
	public static Integer ESTRELLA_8 = 11;
	
	public Boleto(){
		
	}
	
	public Boleto(int totalEstrellasSorteosAnteriores, List estrellasSorteosAnteriores){
		
	}
	
	public List crearBoleto(){
		int[] numeros = new int[50];
//		int[] estrellas = new int[11];
		
		List boleto = new ArrayList();		
		
		for (int i=0;i<50;i++){
			numeros[i] = i+1;
			
//			if(i<11)
//				estrellas[i] = i+1;
		}
		
		List numerosEstrellas = cargarNumeros();
		
		List numerosSorteos = (ArrayList)cargarNumeros().get(0);
		List estrellasSorteos = (ArrayList)cargarNumeros().get(1);
		
		Random random = new Random();	
		
		while (boleto.size() < 1){
			boolean guardar = true;
			Integer num = (Integer)numerosSorteos.get(random.nextInt(numerosSorteos.size()));
			
			for(int i=0;i<boleto.size();i++){
				if(boleto.get(i) == num){
					guardar = false;
					break;
				}
			}
			
			if(guardar)
				boleto.add(num);	
		}		
		
		while (boleto.size() < 5){
			boolean guardar = true;
			Integer num = numeros[random.nextInt(numeros.length)];
			
			for(int i=0;i<boleto.size() && i<5;i++){
				if(boleto.get(i) == num){
					guardar = false;
					break;
				}
			}
			
			if(guardar)
				boleto.add(num);	
		}
		
		while (boleto.size() < 7){
			boolean guardar = true;
			Integer num = (Integer)estrellasSorteos.get(random.nextInt(estrellasSorteos.size()));
			
			if(boleto.size() == 6 &&  boleto.get(5) == num)
				guardar = false;			
					
			if(guardar)
				boleto.add(num);	
		}
				
		return boleto;
	}
	
	public List cargarNumeros(){		
		List numeros = new ArrayList();
		List estrellas = new ArrayList();		
		List toReturn = new ArrayList();
		
		numeros.add(NUMERO_1);numeros.add(NUMERO_2);numeros.add(NUMERO_3);numeros.add(NUMERO_4);numeros.add(NUMERO_5);
		
		if(ESTRELLA_1 != null)
			estrellas.add(ESTRELLA_1);
		
		if(ESTRELLA_2 != null)
			estrellas.add(ESTRELLA_2);
		
		if(ESTRELLA_3 != null)
			estrellas.add(ESTRELLA_3);
		
		if(ESTRELLA_4 != null)
			estrellas.add(ESTRELLA_4);
			
		if(ESTRELLA_5 != null)
			estrellas.add(ESTRELLA_5);
				
		if(ESTRELLA_6 != null)
			estrellas.add(ESTRELLA_6);
		
		if(ESTRELLA_7 != null)
			estrellas.add(ESTRELLA_7);
		
		if(ESTRELLA_8 != null)
			estrellas.add(ESTRELLA_8);
		
		toReturn.add(numeros);
		toReturn.add(estrellas);
		
		return toReturn;
	}
}
